Currently, to remotely control off the shelf external devices connected to a multi-function device requires a high level of customization and associated costs. For example, application programming interfaces (APIs) may be specifically written for specific types of external devices that work with specific multi-function devices that provided limited functionality. However, the APIs still do not provide complete remote control of the off the shelf external device connected to the multi-function device. In addition, the customer would be required to purchase the specific brand or type of external device that is programmed with the API to work with the specific multi-function device. As a result, the customers would be extremely limited to their choices of an external device and a multi-function device.